<?php
ob_start();
require 'vendor/autoload.php';

class dengoNewsTest extends PHPUnit_Framework_TestCase{
	
	private $trendManager;
	function setUp(){
		$this->trendManager = ApplicationContext::getTestServices('trendManager');
	}
	
	public function testDengoNewsAreNotDuplicated(){
		$this->trendManager = ApplicationContext::getTestServices('trendManager');
		$this->trendManager->getTrendingWords();
		$trendingNewsArray = $this->trendManager->getTrendingNews();
		$i=0;
		$limit = count($trendingNewsArray);
		$repeated = false;
		while($i < $limit && !$repeated){
			$news = $trendingNewsArray[$i];
			$id = $news->getId();
			$j = $i+1;
				while($j < $limit && !$repeated){
					$otherId = $trendingNewsArray[$j]->getId();
					if ($otherId == $id){
						$repeated = true;
					}
					$j++;
				}
			$i++;
		}
		if ($repeated){
			echo "La noticia " . $id . " estaba repetida \n";
			//var_dump($trendingNewsArray);
		}
		$this->assertFalse($repeated);
	}
	

	public function testNewsAreRelated(){
		$this->trendManager = ApplicationContext::getTestServices('trendManager');
		$title="Mauricio Macri: \"Colón no se va de la Ciudad de Buenos Aires\"";
		$relatedTitle="Mauricio Macri: Colón Buenos Aires";
		$related= $this->trendManager->newsAreRelated($title,$relatedTitle);
		$this->assertTrue($related);
		
		$title="Cristina: \"Necesitamos una mejor justicia que no dependa de la plata que le ponen\"";
		$nonRelatedTitle="Mauricio Macri: \"Colón no se va de la Ciudad de Buenos Aires\"";
		$related= $this->trendManager->newsAreRelated($title,$nonRelatedTitle);
		$this->assertFalse($related);
		
		$title="Cristina: \"Necesitamos una mejor justicia que no dependa de la plata que le ponen\"";
		$exactSameTitle="Cristina: \"Necesitamos una mejor justicia que no dependa de la plata que le ponen\"";
		$related= $this->trendManager->newsAreRelated($title,$exactSameTitle);
		$this->assertTrue($related);
		
		$title="Revelan los disfraces que usaba Bin Laden para confundir a los EEUU";
		$nonRelatedTitle="Revelan detalles de la vida secreta de Osama Bin Laden en Paquistán";
		$related= $this->trendManager->newsAreRelated($title,$nonRelatedTitle);
		$this->assertFalse($related);
		
		$title="Cristina: \"Necesitamos una mejor justicia que no dependa de la plata que le ponen\"";
		$nonRelatedTitle="Cristina: “No me hablen de seguridad si antes no hay reforma de la Justicia”";
		$related= $this->trendManager->newsAreRelated($title,$nonRelatedTitle);
		$this->assertFalse($related);
		
		$title="Caseros: lo matan a sangre fría antes su familia para robarle el auto";
		$relatedTitle="asesinaron a un hombre al llegar con su familia a su casa en Caseros";
		$related= $this->trendManager->newsAreRelated($title,$relatedTitle);
		//esto es lo que tenemos que mejorar en algun momento, probablemente con un diccionario de sinonimos
		$this->assertFalse($related);
		
		
		$title="Caseros: lo matan a sangre fría antes su familia para robarle el auto";
		$nonRelatedTitle="Lo mataron para robarle la moto y sospechan que el asesino es un chico de 15 años";
		$related= $this->trendManager->newsAreRelated($title,$nonRelatedTitle);
		$this->assertFalse($related);
		
		
		$title="¡Una sana costumbre! Messi está entre los candidatos al mejor de Europa, según UEFA";
		$relatedTitle="Messi es uno de los candidatos al mejor de Europa, dijo la UEFA";
		$related= $this->trendManager->newsAreRelated($title,$relatedTitle);
		$this->assertTrue($related);
		
		$title="Gil Lavedra y Prat Gay criticaron el “discurso de nacionalismo trucho” de la Presidenta";
		$relatedTitle="El “discurso de nacionalismo trucho” de la Presidenta fue criticado por Prat Gay y Gil Lavedra";
		$related= $this->trendManager->newsAreRelated($title,$relatedTitle);
		$this->assertTrue($related);
		
		$title="Messi es arte";
		$relatedTitle="Messi es arte";
		$exactSameTitle= $this->trendManager->newsAreRelated($title,$exactSameTitle);
		$this->assertTrue($related);
		
	}
	
	public function testnewsIsSimilarToTheOnesInArray(){
		$this->setup();
		
		
		
	}
}
?>